#include <iostream>
#include <vector>

using namespace std;
// 14.最长公共前缀
// 编写一个函数来查找字符串数组中的最长公共前缀。
// 如果不存在公共前缀，返回空字符串 ""。
class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        int n = strs.size();    // 字符串的个数
        int len = strs[0].size();   // 第一个字符串的长度
        for(int i = 0; i < len; i++) {  // 按列比较
            char c = strs[0][i];
            for(int j = 1; j < n; j++) {
                if(i == strs[j].size() || strs[j][i] != c)
                    return strs[0].substr(0,i);
            }
        }
        return strs[0];
    }
};
int main() {
    vector<string> strs1 = {"flower","flow","flight"};
    std::cout << Solution().longestCommonPrefix(strs1) << std::endl;

    vector<string> strs2 = {"dog","racecar","car"};
    std::cout << Solution().longestCommonPrefix(strs2) << std::endl;
    return 0;
}
